The use of virtualized environments in distributed computing systems to improve the utilization of computing resources continues to increase. For example, virtual machines (VMs) and/or containerized applications (CAs) can be implemented in hypervisor-implemented virtualization environments and/or operating system virtualization environments in distributed computing systems. The high utility delivered by VMs and CAs has precipitated an increase in deployment of distributed storage systems. Specifically, such distributed storage systems can aggregate various physical storage facilities to create a logical storage pool where data may be efficiently distributed according to various metrics and/or objectives. Modern hyper-converged (e.g., combining networked computing and storage nodes into a distributed storage system) have evolved to comprise autonomous nodes that facilitate incremental and/or linear scaling. With certain clusters in a distributed system scaling to over one hundred nodes and supporting many thousands of autonomous VMs, the topology and/or the storage I/O (input/output or IO) activity of the distributed system can be highly dynamic. Users (e.g., system administrators) of such large scale, highly dynamic distributed systems desire applications (e.g., management tools) that facilitate managing and/or analyzing the distributed systems. Changes to the system topology and/or usage can, in turn, precipitate changes to the management and/or analysis functionality. For example, a given system administrator for an enterprise might hypothesize that a certain set of metrics are correlated to the performance of the enterprise's distributed compute and storage system implementation. Accordingly, the system administrator might seek an extension to the system management application that measures and analyzes the metrics.
Unfortunately, legacy techniques might merely extend application functionality in response to a user request (e.g., a feature request from a system administrator) by adding the functionality to an existing application. However, delivery of the application extension to the system administrator might be delayed during implementation, and perhaps still further delayed until release of a newer version of the existing application and/or a system upgrade. In such cases, the user experience may be negatively impacted by poor system performance and/or other negative effects due to the absence of, or delayed availability of, the sought-after application extension. Such legacy approaches can further degrade the user experience by limiting the system administrator to merely the application extensions explicitly requested (e.g., to a component vendor) by the system administrator. What is needed is a way that application extensions that are posted by users in a community can be quickly availed to system administrators of hyper-converged virtualization systems.
What is needed is a technique or techniques to improve over legacy techniques and/or over other considered approaches. Some of the approaches described in this background section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.